package com.example.demo.service;

import com.example.demo.entity.BankAccountEntity;
import com.example.demo.util.Message;

import java.math.BigDecimal;

/**
 * @author xzy
 * @date 2020-11-08 14:33
 * 说明：
 */
public interface BankAccountService {
    /**
     * 新增一条银行账户数据
     *
     * @param newBankAccountRecord - 新增的银行账户数据
     * @return - 实际保存到数据库中的数据
     * @throws IllegalArgumentException - 账号已经被使用
     */
    BankAccountEntity save(BankAccountEntity newBankAccountRecord);

    /**
     * 转账
     *
     * @param from  - 原始账户
     * @param to    - 目标账户
     * @param money - 转账金额
     * @return - 操作接口
     */
    Message transfer(String from, String to, BigDecimal money);
}
